package com.wordLearning.word.domain.service;

import com.wordLearning.word.common.entity.PageResult;
import com.wordLearning.word.domain.entity.WordBO;
import com.wordLearning.word.infra.basic.entity.FavoriteWord;
import com.wordLearning.word.infra.basic.entity.UnmasteredWord;

/**
 * 单词领域服务
 */
public interface WordInfodomainService {
     WordBO queryWordById(WordBO wordBO);

    void add(WordBO wordBO);


    Boolean delete(WordBO wordBO);

    Boolean update(WordBO wordBO);

    PageResult<WordBO> getWordPage(WordBO wordBO);

    WordBO queryWordBySpelling(WordBO wordBO);

    PageResult<FavoriteWord> getFavoritePage(WordBO wordBO);

    PageResult<UnmasteredWord> getUnmasterPage(WordBO wordBO);

    Integer countLearningRecord();

    Integer countUnmasterWord();
}
